Page({
  data: {
    cart: [],
    totalPrice: 0
  },

  // 初始化加载数据
  onLoad() {
    this.syncCartData();
  },

  // 每次进入页面同步数据
  onShow() {
    this.syncCartData();
  },

  // 封装数据同步逻辑
  syncCartData() {
    const app = getApp();
    const cart = app.globalData.cart || [];
    this.setData({
      cart,
      totalPrice: this.calculateTotalPrice(cart)
    });
  },

  // 计算总价（增强类型转换）
  calculateTotalPrice(cart) {
    return cart.reduce((total, item) => {
      const price = Number(item.price) || 0; // 二次类型保险
      const quantity = Number(item.quantity) || 0;
      return total + price * quantity;
    }, 0);
  },

  // 移除商品逻辑
  removeFromCart(event) {
    const productId = event.currentTarget.dataset.id;
    const app = getApp();
    app.globalData.cart = app.globalData.cart.filter(item => item.id !== productId);
    this.syncCartData(); // 直接调用封装好的同步方法
    wx.showToast({ title: '已移除', icon: 'success' });
  }
});